home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 May
/
EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso
/
earcd
/
util
/
dir
/
managers.lha
/
Managers
/
Dir
/
Dir.cli
< prev
next >
Wrap
Text File
|
1997-01-15
|
3KB
|
141 lines
G4C
; This GUI is similar to the Workbench "Execute command" GUI, but more.
; There is a textin gadget for entering commands, buttons for choosing
; files, changing the directory, and opening a newshell.
; More important, it can also send ARexx commands to the port shown
; in the other (bottom right) textin gadget (which can also be changed)
WinBig 10 30 520 38 "Enter commands :"
WinSmall 0 -1 422 30
WinType 11110010
xOnLoad
cl_Main = "" ; our main variable.
cl_Mode = G4C ; Mode to run the command
cl_Port = Gui4Cli ; Name of default port (can also sendrexx to ourselves)
; On opening we display the current directory in the titlebar (note large buffer)
xOnOpen
setwintitle Dir.cli "$$CURRENT_DIR "
Update Dir.cli 1 $cl_Main ; show whatever the command line is
SetGad Dir.cli 1 ON ; to get the cursor in the gadget immediately
; On quitting we delete the variables
xOnQuit
delvar cl_#?
xOnRMB
status
;================================> Main text input gadget
xTEXTIN 10 3 480 16 "" cl_Main "" 512
gadid 1
gosub Dir.cli DoCommand
xButton 495 4 20 14 C ; clear the command line
cl_Main = ""
update dir.cli 1 ""
;========> Cycler for choosing ARexx/CLI/RUN modes
xCYCLER 10 20 80 14 "" cl_Mode
GadID 10 ; we may want to change it from elsewhere
CSTR ARexx G4C
CSTR CLI CLI
CSTR RUN RUN
CSTR Exec EXEC
;========> GO button (to execute the command)
xBUTTON 90 20 40 14 "GO!"
gosub Dir.cli DoCommand
;=======> button for file requester for commands
xbutton 135 20 65 14 "Cmd.."
cl_cmd = ""
REQFILE -1 -1 300 -60 "Choose Files" LOAD cl_cmd sys:c
if $cl_cmd > ""
cl_temp = $cl_Main
cl_Main = '$cl_cmd '
appvar cl_Main $cl_temp
update Dir.cli 1 $cl_Main
delvar cl_temp
endif
;========> Button for File requester for filenames
xBUTTON 200 20 65 14 "Files.."
cl_File = ""
REQFILE -1 -1 300 -60 "Choose Files" MULTI cl_File $$CURRENT_DIR
if $cl_File > ""
appvar cl_Main $cl_File
update Dir.cli 1 $cl_Main
endif
;========> Button to open a shell
xBUTTON 265 20 40 14 Cli
CLI 'Newshell "con:0/150/640/100/NewShell/CLOSE"'
;========> Button to change directory
xBUTTON 305 20 40 14 CD
setvar cl_Dir ""
REQFILE -1 -1 300 -60 "Choose directory" DIR cl_Dir ""
if $cl_Dir > ""
CD $cl_Dir
SetWinTitle Dir.cli "$cl_Dir "
endif
;========> TEXTin gadget to get port name for sendrexx command
xTEXTIN 390 20 125 16 "Port" cl_Port "Gui4Cli" 40
GadID 2
;========> ROUTINE to execute command
xROUTINE DoCommand
docase $cl_Mode
case = G4C
SendRexx $cl_Port $cl_Main
SetWinTitle Dir.cli "Return : $$RETCODE $$REXXRET "
break
case = CLI
CLI $cl_Main
SetWinTitle Dir.cli "Return : $$RETCODE"
break
case = RUN
RUN $cl_Main
SetWinTitle Dir.cli "Return : $$RETCODE"
break
case = EXEC
CLI 'execute $cl_Main'
SetWinTitle Dir.cli "Return : $$RETCODE"
break
endcase
;=========> before commands are executed, we restore the window title
xBEFORE
SetWinTitle Dir.cli "$$CURRENT_DIR "